#ifndef StateAttack_h__
#define StateAttack_h__

#include "State.h"
#include "Logic/Vector2D.h"
#include "Scheduler/ITask.h"
class LivingEntity;
class BaseGameEntity;


class AttackOnceTask : public ITask {
public:
	static int count;     //because 
	virtual void Execute(int id, int time, void* pUser);
};



class StateAttack : public State
{
public:
	//constructor/functions
	StateAttack(LivingEntity* parent);
	void Update(float dt);
	void Enter(){}
	void Exit(){}
	void SetGoal(BaseGameEntity* pGoal);
	void AttackOnce();

protected:
	BaseGameEntity* m_goalEntity;
	AttackOnceTask  m_attackTask;
};

#endif // StateAttack_h__